package com.fy.proj5_permission_transaction_cache.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 页面路由控制器
 * 负责处理前端页面的路由请求
 */
@Controller
public class PageController {
    
    /**
     * 首页路由 - 对应templates/index.html
     * @return 首页模板
     */
    @GetMapping("/")
    public String index() {
        return "index";
    }
    
    /**
     * 首页别名路由
     * @return 首页模板
     */
    @GetMapping("/index")
    public String indexAlias() {
        return "index";
    }

    /**
     * 用户管理页面路由 - 对应templates/users.html
     * @return 用户管理页面模板
     */
    @GetMapping("/users")
    public String usersPage() {
        return "users";
    }
    
    /**
     * 角色管理页面路由 - 对应templates/roles.html
     * @return 角色管理页面模板
     */
    @GetMapping("/roles")
    public String rolesPage() {
        return "roles";
    }
    
    /**
     * 权限管理页面路由 - 对应templates/permissions.html
     * @return 权限管理页面模板
     */
    @GetMapping("/permissions")
    public String permissionsPage() {
        return "permissions";
    }
    
    /**
     * 通用页面路由 - 处理其他可能的页面请求
     * @param pageName 页面名称
     * @return 对应的页面模板
     */
    @GetMapping("/{pageName}")
    public String genericPage(@PathVariable String pageName) {
        // 安全检查，确保只允许访问指定的页面
        if (pageName.equals("index") || pageName.equals("users") || pageName.equals("roles") || pageName.equals("permissions")) {
            return pageName;
        }
        // 对于未知页面，重定向到首页
        return "redirect:/";
    }
}